com.sabro.jbusiness.sys
Class SysFiltro

java.lang.Object
  extended by com.sabro.jbusiness.sys.SysFiltro
All Implemented Interfaces:
ISelectable, java.io.Externalizable, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
SysFiltroAll, SysFiltroBoolean, SysFiltroCampo, SysFiltroConjunto, SysFiltroInsertNew, SysFiltroLigacao, SysFiltroNil, SysFiltroNot, SysFiltroRegistro, SysFiltroSql, SysFiltroTabela, SysFiltroTabelaConjuntos, SysFiltroTabelaRegistros

public abstract class SysFiltro
extends java.lang.Object
implements java.lang.Cloneable, java.io.Externalizable, ISelectable

Base para a estrutura de armazenamento estruturado dos filtros. Veja as outras classes que começam com o prefixo SysFiltro, cada uma delas serve para armazenar um tipo de condiçào de filtragem.

Author:
Dalton Salvatti
See Also:
Serialized Form

Nested Class Summary
static class SysFiltro.SysFiltroEvent
          Encapsula as informações que descrevem as alterações feitas no SysFiltro.
static class SysFiltro.SysFiltroEventType
           
static interface SysFiltro.SysFiltroListener
          Define como um listener de SysFiltro deve ser construido
static class SysFiltro.SysFiltroListenerItem
           
 
Constructor Summary
SysFiltro()
           
 
Method Summary
 void addSysFiltro(SysFiltro sysFiltro)
           
 void addSysFiltro(SysFiltro sysFiltro, int index)
          Adiciona um SysFiltro filho a este filtro.
static SysFiltro.SysFiltroListenerItem addSysFiltroListener(java.lang.Object objeto, SysFiltro.SysFiltroListener sysFiltroListener)
           
 SysFiltro.SysFiltroListenerItem addSysFiltroListener(SysFiltro.SysFiltroListener sysFiltroListener)
           
 boolean canClose(ISelectable iSelectable)
          Deve indicar se o objeto selectable pode ser fechado.
 void clearSysFiltroFilho(SysFiltro sysFiltro)
          Remove todos os filhos exceto aquele indicado no parâmetro
abstract  SysFiltro clone()
          Devolve uma cópia do filtro
 SysFiltro convertTo(java.lang.Class<? extends SysFiltro> sysFiltroClasse)
          Converte o filtro para outro tipo conforme parâmetro
 SysFiltro convertToSysFiltroAll()
           
 SysFiltro convertToSysFiltroBooleanAnd()
           
 SysFiltro convertToSysFiltroBooleanOr()
           
 SysFiltro convertToSysFiltroLigacao()
           
 SysFiltro convertToSysFiltroLigacaoAnexo()
           
 SysFiltro convertToSysFiltroNil()
           
 SysFiltro convertToSysFiltroNot()
           
 SysFiltro convertToSysFiltroTabela()
           
 SysFiltro convertToSysFiltroTabelaConjuntos()
           
 SysFiltro convertToSysFiltroTabelaRegistros()
           
 void defineSysFiltroFilho(SysFiltro sysFiltro)
          Define que o sysFiltro informado é o único filtro filho deste filtro pai.
static SysTabelaFormatada findSysTabela(SysFiltro sysFiltro, SysTabelaFormatada sysTabela)
           
static void fireSysFiltroChanged(java.lang.Object objeto, SysFiltro.SysFiltroEvent sysFiltroEvent)
           
abstract  java.lang.String getAlias()
          Obtém a descriçào do filtro para apresentar na árvore descritiva do filro
abstract  java.lang.String getCondicao()
          Obtém a condição SQL correspondente ao filtro
abstract  int getIndexOfChild(SysFiltro sysFiltroChild)
          Obtém a posição do filtro filho dentro dos nós filhos
 ISelectable[] getISelectableComponents()
           
 ISelectable getISelectableParent()
          Este método fornece a relação de filhos selecionáveis e/ou selecionados.
 SysFiltro[] getPath()
           
abstract  int getSysFiltroCount()
          Informa o numero de filhos que este SysFiltro possui.
 SysFiltro getSysFiltroFilho()
           
abstract  SysFiltro getSysFiltroItem(int i)
          Devolve o enésimo filho deste filtro.
 java.util.ArrayList<java.lang.Class<? extends SysFiltro>> getSysFiltroOptions()
          Relaciona as possibilidades de conversão de filtro
 SysFiltro getSysFiltroPai()
           
 SysFiltro getSysFiltroRaiz()
           
 SysTabelaFormatada getSysTabelaBase()
           
abstract  IPanelEditorSysFiltro getZoomComponent()
          Obtém o painel editor do SysFiltro
abstract  boolean isLeaf()
          True se o filtro não for um nó (não poder ter fltros filhos).
abstract  void readExternal(java.io.ObjectInput in)
           
 void removeSysFiltro(SysFiltro sysFiltro)
          Remove o SysFiltro filho indicado no parâmetro.
static void removeSysFiltroListener(SysFiltro.SysFiltroListener sysFiltroListener)
           
static void removeSysFiltroListenerItem(SysFiltro.SysFiltroListenerItem sysFiltroListenerItem)
           
 void requestSelection()
           
 void setISelectableParent(ISelectable iSelectableParent)
          Este método deve ser chamado para informar o objeto qual é o seu objeto selecionavel pai.
abstract  java.lang.String toString()
          Obtém a descrição do filtro para fins de debug.
 void trocaSysFiltro(SysFiltro sysFiltroOld, SysFiltro sysFiltroNew)
           
 void wasRequestClose(ISelectable iSelectable)
          Este método é chamado pelo SelectionManeger para avisar que algum objeto ISelectable está sendo fechado mas para isso precisa que seus objetos filhos também sejam fechados.
 void wasSelected()
          Este método é chamado pelo SelectionManager para avisar que este objeto foi selecionado.
 void wasUnSelected()
          Este método é chamado pelo SelectionManager para avisar que este objeto foi deselecionado.
abstract  void writeExternal(java.io.ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SysFiltro

public SysFiltro()
Method Detail

getSysTabelaBase

public SysTabelaFormatada getSysTabelaBase()

getSysFiltroPai

public SysFiltro getSysFiltroPai()

getSysFiltroRaiz

public SysFiltro getSysFiltroRaiz()

getSysFiltroFilho

public SysFiltro getSysFiltroFilho()

defineSysFiltroFilho

public void defineSysFiltroFilho(SysFiltro sysFiltro)
Define que o sysFiltro informado é o único filtro filho deste filtro pai.

Parameters:
sysFiltro -

trocaSysFiltro

public void trocaSysFiltro(SysFiltro sysFiltroOld,
                           SysFiltro sysFiltroNew)

addSysFiltro

public void addSysFiltro(SysFiltro sysFiltro)

addSysFiltro

public void addSysFiltro(SysFiltro sysFiltro,
                         int index)
Adiciona um SysFiltro filho a este filtro. Usado em casos em que o SysFiltro admite vários filtros filhos. Use defineSysFiltroFilho quando o SysFiltro só pode ter um SysFiltro filho.

Parameters:
sysFiltro -

clearSysFiltroFilho

public void clearSysFiltroFilho(SysFiltro sysFiltro)
Remove todos os filhos exceto aquele indicado no parâmetro

Parameters:
sysFiltro -

removeSysFiltro

public void removeSysFiltro(SysFiltro sysFiltro)
Remove o SysFiltro filho indicado no parâmetro. Se o SysFiltro só admitir um único filho então use clearSysFiltroFilho.

Parameters:
sysFiltro -

getPath

public SysFiltro[] getPath()

requestSelection

public void requestSelection()

clone

public abstract SysFiltro clone()
Devolve uma cópia do filtro

Overrides:
clone in class java.lang.Object

getSysFiltroItem

public abstract SysFiltro getSysFiltroItem(int i)
Devolve o enésimo filho deste filtro.

Parameters:
i -
Returns:

getSysFiltroCount

public abstract int getSysFiltroCount()
Informa o numero de filhos que este SysFiltro possui.

Returns:

isLeaf

public abstract boolean isLeaf()
True se o filtro não for um nó (não poder ter fltros filhos).

Returns:

getIndexOfChild

public abstract int getIndexOfChild(SysFiltro sysFiltroChild)
Obtém a posição do filtro filho dentro dos nós filhos

Parameters:
sysFiltroChild -
Returns:

getCondicao

public abstract java.lang.String getCondicao()
Obtém a condição SQL correspondente ao filtro

Returns:

getAlias

public abstract java.lang.String getAlias()
Obtém a descriçào do filtro para apresentar na árvore descritiva do filro

Returns:

toString

public abstract java.lang.String toString()
Obtém a descrição do filtro para fins de debug.

Overrides:
toString in class java.lang.Object

getZoomComponent

public abstract IPanelEditorSysFiltro getZoomComponent()
Obtém o painel editor do SysFiltro

Returns:

findSysTabela

public static SysTabelaFormatada findSysTabela(SysFiltro sysFiltro,
                                               SysTabelaFormatada sysTabela)

writeExternal

public abstract void writeExternal(java.io.ObjectOutput out)
                            throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Throws:
java.io.IOException

readExternal

public abstract void readExternal(java.io.ObjectInput in)
                           throws java.io.IOException,
                                  java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Throws:
java.io.IOException
java.lang.ClassNotFoundException

fireSysFiltroChanged

public static void fireSysFiltroChanged(java.lang.Object objeto,
                                        SysFiltro.SysFiltroEvent sysFiltroEvent)

addSysFiltroListener

public SysFiltro.SysFiltroListenerItem addSysFiltroListener(SysFiltro.SysFiltroListener sysFiltroListener)

addSysFiltroListener

public static SysFiltro.SysFiltroListenerItem addSysFiltroListener(java.lang.Object objeto,
                                                                   SysFiltro.SysFiltroListener sysFiltroListener)

removeSysFiltroListenerItem

public static void removeSysFiltroListenerItem(SysFiltro.SysFiltroListenerItem sysFiltroListenerItem)

removeSysFiltroListener

public static void removeSysFiltroListener(SysFiltro.SysFiltroListener sysFiltroListener)

getSysFiltroOptions

public java.util.ArrayList<java.lang.Class<? extends SysFiltro>> getSysFiltroOptions()
Relaciona as possibilidades de conversão de filtro

Returns:

convertTo

public SysFiltro convertTo(java.lang.Class<? extends SysFiltro> sysFiltroClasse)
Converte o filtro para outro tipo conforme parâmetro

Parameters:
sysFiltroClasse -
Returns:

convertToSysFiltroNil

public SysFiltro convertToSysFiltroNil()

convertToSysFiltroTabela

public SysFiltro convertToSysFiltroTabela()

convertToSysFiltroNot

public SysFiltro convertToSysFiltroNot()

convertToSysFiltroBooleanAnd

public SysFiltro convertToSysFiltroBooleanAnd()

convertToSysFiltroBooleanOr

public SysFiltro convertToSysFiltroBooleanOr()

convertToSysFiltroTabelaConjuntos

public SysFiltro convertToSysFiltroTabelaConjuntos()

convertToSysFiltroLigacao

public SysFiltro convertToSysFiltroLigacao()

convertToSysFiltroLigacaoAnexo

public SysFiltro convertToSysFiltroLigacaoAnexo()

convertToSysFiltroTabelaRegistros

public SysFiltro convertToSysFiltroTabelaRegistros()

convertToSysFiltroAll

public SysFiltro convertToSysFiltroAll()

getISelectableComponents

public ISelectable[] getISelectableComponents()
Specified by:
getISelectableComponents in interface ISelectable

getISelectableParent

public ISelectable getISelectableParent()
Description copied from interface: ISelectable
Este método fornece a relação de filhos selecionáveis e/ou selecionados.

Specified by:
getISelectableParent in interface ISelectable

setISelectableParent

public void setISelectableParent(ISelectable iSelectableParent)
Description copied from interface: ISelectable
Este método deve ser chamado para informar o objeto qual é o seu objeto selecionavel pai.

Specified by:
setISelectableParent in interface ISelectable

wasSelected

public void wasSelected()
Description copied from interface: ISelectable
Este método é chamado pelo SelectionManager para avisar que este objeto foi selecionado.

Specified by:
wasSelected in interface ISelectable

wasUnSelected

public void wasUnSelected()
Description copied from interface: ISelectable
Este método é chamado pelo SelectionManager para avisar que este objeto foi deselecionado.

Specified by:
wasUnSelected in interface ISelectable

canClose

public boolean canClose(ISelectable iSelectable)
Description copied from interface: ISelectable
Deve indicar se o objeto selectable pode ser fechado. O parâmetro indica qual objeto solicitou o fechamento.

Specified by:
canClose in interface ISelectable
Returns:

wasRequestClose

public void wasRequestClose(ISelectable iSelectable)
Description copied from interface: ISelectable
Este método é chamado pelo SelectionManeger para avisar que algum objeto ISelectable está sendo fechado mas para isso precisa que seus objetos filhos também sejam fechados. Este método só deve ser chamado após a verificação da possibilidade de fechamento pelo método canClose().

Specified by:
wasRequestClose in interface ISelectable
Parameters:
iSelectable - objeto que solicitou o fechamento.